//
//  ADSDKError.h
//  ADSDK
//
//  Created by 悦帅 on 2025/6/4.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

// YSADSDK Ads error domain.
extern NSString *const kYSADSDKErrorDomain;

// NSError codes for YSAD error domain.
typedef NS_ENUM(NSInteger, YSADSDKErrorCode) {
    
    // 广告请求超时
    kYSADSDKErrorTimeout                              = 9999,
    
    // 未知错误
    kYSADSDKErrorUnknow                               = 1,
    
    // 配置文件错误
    kYSADSDKErrorConfigureError                       = 10001,
    
    // 未发现此广告位
    kYSADSDKErrorSpaceIDNULL                          = 10100,
    
    // 广告类型不匹配
    kYSADSDKErrorIDUseError                           = 10110,
    
    // 广告请求时间过短
    kYSADSDKErrorRequestTimeLess                      = 10120,
    
    // 渠道过滤失败
    kYSADSDKErrorFilterError                          = 10130,
    
    // 内部错误
    kYSADSDKErrorStatusError                          = 10131,
    
    // 内部错误
    kYSADSDKErrorInternalError                        = 10132,
    
    // 广告没有填充
    kYSADSDKErrorNoFill                               = 10140,
    
    // 广告没有填充
    kYSADSDKErrorFixedTimeNoFill                      = 10141,
    
    // 没有广告位信息
    kYSADSDKErrorNoBuyerInfo                          = 10150,
    
    // 没有渠道SDK
    kYSADSDKErrorNoFoundSDK                           = 10151,
    
    // 渠道未知错误
    kYSADSDKErrorChannelUnknow                        = 10160,
    
    // 广告load失败
    kYSADSDKErrorLoadAdError                          = 10200,
    
    // 广告类型不匹配
    kYSADSDKErrorMapIDError                           = 10220,
    
    // 广告请求频繁
    kYSADSDKErrorFrequentError                        = 10300,
    
};

@interface ADSDKError : NSError
+ (ADSDKError *)errorWithCode:(YSADSDKErrorCode)code;
@end

NS_ASSUME_NONNULL_END
